package com.wzdigit.wms.basic.client.request.picktask;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 拣货任务管理
 */
//@Data
//@Accessors(chain = true)
//@JsonInclude
//@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)


@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EqualsAndHashCode
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class PicktaskMangementRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 拣货任务号
     */
    @ApiModelProperty("拣货任务号")
    private String picktaskNo;

    /**
     * 发货单号
     */
    @ApiModelProperty("发货单号")
    private String gdnNo;

    /**
     * 任务领取人
     */
    @ApiModelProperty("任务领取人")
    private String taskReceiver;

    /**
     * 参考柜号
     */
    @ApiModelProperty("参考柜号")
    private String refCntrNo;

    /**
     * 机型料号
     */
    @ApiModelProperty("机型料号")
    private String materialCode;

    /**
     * 状态
     */
    @ApiModelProperty("状态")
    private Integer status;

    /**
     * 仓库Id
     */
    @ApiModelProperty("仓库Id")
    private Integer whsId;

    /**
     * 销售订单号
     */
    @ApiModelProperty("销售订单号")
    private String so;

    /**
     * 销售订单行号
     */
    @ApiModelProperty("销售订单行号")
    private String soItem;

    /**
     * 出货日期-开始
     */
    @ApiModelProperty("出货日期")
    private Long shipmentDateTime;

    /**
     * 出货日期-结束
     */
    @ApiModelProperty(value = "出货日期-结束",hidden = true)
    private Long shipmentDateTimeEnd;

    /**
     * 出货日期
     */
    @ApiModelProperty(value = "出货日期",hidden = true)
    private Date shipmentDateTimeDate;

    /**
     * 出货日期-结束
     */
    @ApiModelProperty(value = "出货日期-结束",hidden = true)
    private Date shipmentDateTimeDateEnd;

    /**
     * 来源发货通知单
     */
    @ApiModelProperty("来源发货通知单")
    private String sourceShipNotice;


    /**
     * 模糊查询
     */
    @ApiModelProperty("模糊查询：通过发货单号或任务领取人模糊查询")
    private String filter;

}
